import {defineMock} from "./base";

export default defineMock([
    {
        url: "menus/routes",
        method: ["GET"],
        body: {
            code: "00000",
            data: [
                {
                    path: "/system",
                    component: "Layout",
                    redirect: "/system/user",
                    name: "/system",
                    meta: {
                        title: "系统管理",
                        icon: "system",
                        hidden: false,
                        alwaysShow: false,
                        params: null,
                    },
                    children: [
                        {
                            path: "user",
                            component: "system/user/index",
                            name: "User",
                            meta: {
                                title: "用户管理",
                                icon: "el-icon-User",
                                hidden: false,
                                keepAlive: true,
                                alwaysShow: false,
                                params: null,
                            },
                        },
                        {
                            path: "role",
                            component: "system/role/index",
                            name: "Role",
                            meta: {
                                title: "角色管理",
                                icon: "role",
                                hidden: false,
                                keepAlive: true,
                                alwaysShow: false,
                                params: null,
                            },
                        },
                        {
                            path: "menu",
                            component: "system/menu/index",
                            name: "SysMenu",
                            meta: {
                                title: "菜单管理",
                                icon: "menu",
                                hidden: false,
                                keepAlive: true,
                                alwaysShow: false,
                                params: null,
                            },
                        },
                        {
                            path: "dept",
                            component: "system/dept/index",
                            name: "Dept",
                            meta: {
                                title: "部门管理",
                                icon: "tree",
                                hidden: false,
                                keepAlive: true,
                                alwaysShow: false,
                                params: null,
                            },
                        },
                        {
                            path: "dict",
                            component: "system/dict/index",
                            name: "Dict",
                            meta: {
                                title: "字典管理",
                                icon: "dict",
                                hidden: false,
                                keepAlive: true,
                                alwaysShow: false,
                                params: null,
                            },
                        },
                        {
                            path: "log",
                            component: "system/log/index",
                            name: "Log",
                            meta: {
                                title: "系统日志",
                                icon: "document",
                                hidden: false,
                                keepAlive: true,
                                alwaysShow: false,
                                params: null,
                            },
                        },
                        {
                            path: "dict-data",
                            component: "system/dict/data",
                            name: "DictData",
                            meta: {
                                title: "字典数据",
                                icon: "",
                                hidden: true,
                                keepAlive: true,
                                alwaysShow: false,
                                params: null,
                            },
                        },
                        {
                            path: "config",
                            component: "system/config/index",
                            name: "Config",
                            meta: {
                                title: "系统配置",
                                icon: "setting",
                                hidden: false,
                                keepAlive: true,
                                alwaysShow: false,
                                params: null,
                            },
                        },
                        {
                            path: "notice",
                            component: "system/notice/index",
                            name: "Notice",
                            meta: {
                                title: "通知公告",
                                icon: "",
                                hidden: false,
                                alwaysShow: false,
                                params: null,
                            },
                        },
                    ],
                },
                // {
                //     path: "/codegen",
                //     component: "Layout",
                //     name: "/codegen",
                //     meta: {
                //         title: "系统工具",
                //         icon: "menu",
                //         hidden: false,
                //         alwaysShow: false,
                //         params: null,
                //     },
                //     children: [
                //         {
                //             path: "codegen",
                //             component: "codegen/index",
                //             name: "Codegen",
                //             meta: {
                //                 title: "代码生成",
                //                 icon: "code",
                //                 hidden: false,
                //                 keepAlive: true,
                //                 alwaysShow: false,
                //                 params: null,
                //             },
                //         },
                //     ],
                // },
                // {
                //     path: "/api",
                //     component: "Layout",
                //     name: "/api",
                //     meta: {
                //         title: "接口文档",
                //         icon: "api",
                //         hidden: false,
                //         alwaysShow: true,
                //         params: null,
                //     },
                //     children: [
                //         {
                //             path: "apifox",
                //             component: "demo/api/apifox",
                //             name: "Apifox",
                //             meta: {
                //                 title: "Apifox",
                //                 icon: "api",
                //                 hidden: false,
                //                 keepAlive: true,
                //                 alwaysShow: false,
                //                 params: null,
                //             },
                //         },
                //     ],
                // },
                // {
                //     path: "/doc",
                //     component: "Layout",
                //     redirect: "https://juejin.cn/post/7228990409909108793",
                //     name: "/doc",
                //     meta: {
                //         title: "平台文档",
                //         icon: "document",
                //         hidden: false,
                //         alwaysShow: false,
                //         params: null,
                //     },
                //     children: [
                //         {
                //             path: "internal-doc",
                //             component: "demo/internal-doc",
                //             name: "InternalDoc",
                //             meta: {
                //                 title: "document",
                //                 icon: "document",
                //                 hidden: false,
                //                 alwaysShow: false,
                //                 params: null,
                //             },
                //         },
                //         {
                //             path: "https://juejin.cn/post/7228990409909108793",
                //             name: "Https://juejin.cn/post/7228990409909108793",
                //             meta: {
                //                 title: "平台文档(外链)",
                //                 icon: "link",
                //                 hidden: false,
                //                 alwaysShow: false,
                //                 params: null,
                //             },
                //         },
                //     ],
                // },
                {
                    path: "/analyse",
                    component: "Layout",
                    name: "/analyse",
                    meta: {
                        title: "分析室",
                        icon: "cascader",
                        hidden: false,
                        alwaysShow: true,
                        params: null,
                    },
                    children: [
                        {
                            path: "index",
                            component: "system/analyse/index",
                            name: "index",
                            meta: {
                                title: "分析单",
                                icon: "cascader",
                                hidden: false,
                                alwaysShow: true,
                                params: null,
                            },

                            // children: [
                            //     {
                            //         path: "multi-level2",
                            //         component: "demo/multi-level/children/level2",
                            //         name: "MultiLevel2",
                            //         meta: {
                            //             title: "菜单二级",
                            //             icon: "",
                            //             hidden: false,
                            //             alwaysShow: false,
                            //             params: null,
                            //         },
                            //         children: [
                            //             {
                            //                 path: "multi-level3-1",
                            //                 component: "demo/multi-level/children/children/level3-1",
                            //                 name: "MultiLevel31",
                            //                 meta: {
                            //                     title: "菜单三级-1",
                            //                     icon: "",
                            //                     hidden: false,
                            //                     keepAlive: true,
                            //                     alwaysShow: false,
                            //                     params: null,
                            //                 },
                            //             },
                            //             {
                            //                 path: "multi-level3-2",
                            //                 component: "demo/multi-level/children/children/level3-2",
                            //                 name: "MultiLevel32",
                            //                 meta: {
                            //                     title: "菜单三级-2",
                            //                     icon: "",
                            //                     hidden: false,
                            //                     keepAlive: true,
                            //                     alwaysShow: false,
                            //                     params: null,
                            //                 },
                            //             },
                            //         ],
                            //     },
                            // ],
                        },
                        {
                            path: "analyse-details",
                            component: "system/analyse/details",
                            meta: {
                                title: "分析单详情",
                                hidden: true
                            },
                        },
                        {
                            path: "analyse-apportion",
                            component: "system/analyse/apportion",
                            meta: {
                                title: "分析分派",
                                hidden: true
                            },
                        },
                        {
                            path: "sample",
                            component: "system/sampleAnalyse/index",
                            name: "sample",
                            meta: {
                                title: "样品分析",
                                icon: "cascader",
                                hidden: false,
                                alwaysShow: true,
                                params: null,
                            },
                        },
                        {
                            path: "sample-analysis",
                            component: "system/sampleAnalyse/analysis",
                            meta: {
                                title: "样品分析",
                                hidden: true,
                            },
                        },
                        {
                            path: "sample-taskReceiving",
                            component: "system/sampleAnalyse/taskReceiving",
                            meta: {
                                title: "分析任务接收",
                                hidden: true,
                            },
                        },
                        {
                            path: "water-solution",
                            component: "system/water/index",
                            meta: {
                                title: "新增水质 溶解氧电极法分析原始记录",
                                hidden: true,
                            },
                        },
                        {
                            path: "water-method",
                            component: "system/water/method",
                            meta: {
                                title: "新增水质 溶解氧电极法分析原始记录",
                                hidden: true,
                            },
                        },
                    ],
                },
                // {
                //     path: "/component",
                //     component: "Layout",
                //     name: "/component",
                //     meta: {
                //         title: "组件封装",
                //         icon: "menu",
                //         hidden: false,
                //         alwaysShow: false,
                //         params: null,
                //     },
                //     children: [
                //         {
                //             path: "curd",
                //             component: "demo/curd/index",
                //             name: "Curd",
                //             meta: {
                //                 title: "增删改查",
                //                 icon: "",
                //                 hidden: false,
                //                 keepAlive: true,
                //                 alwaysShow: false,
                //                 params: null,
                //             },
                //         },
                //         {
                //             path: "table-select",
                //             component: "demo/table-select/index",
                //             name: "TableSelect",
                //             meta: {
                //                 title: "列表选择器",
                //                 icon: "",
                //                 hidden: false,
                //                 keepAlive: true,
                //                 alwaysShow: false,
                //                 params: null,
                //             },
                //         },
                //         {
                //             path: "wang-editor",
                //             component: "demo/wang-editor",
                //             name: "WangEditor",
                //             meta: {
                //                 title: "富文本编辑器",
                //                 icon: "",
                //                 hidden: false,
                //                 keepAlive: true,
                //                 alwaysShow: false,
                //                 params: null,
                //             },
                //         },
                //         {
                //             path: "upload",
                //             component: "demo/upload",
                //             name: "Upload",
                //             meta: {
                //                 title: "图片上传",
                //                 icon: "",
                //                 hidden: false,
                //                 keepAlive: true,
                //                 alwaysShow: false,
                //                 params: null,
                //             },
                //         },
                //         {
                //             path: "dict-demo",
                //             component: "demo/dictionary",
                //             name: "DictDemo",
                //             meta: {
                //                 title: "字典组件",
                //                 icon: "",
                //                 hidden: false,
                //                 keepAlive: true,
                //                 alwaysShow: false,
                //                 params: null,
                //             },
                //         },
                //         {
                //             path: "icon-selector",
                //             component: "demo/icon-selector",
                //             name: "IconSelector",
                //             meta: {
                //                 title: "图标选择器",
                //                 icon: "",
                //                 hidden: false,
                //                 keepAlive: true,
                //                 alwaysShow: false,
                //                 params: null,
                //             },
                //         },
                //     ],
                // },
                // {
                //     path: "/route-param",
                //     component: "Layout",
                //     name: "/routeParam",
                //     meta: {
                //         title: "路由参数",
                //         icon: "el-icon-ElementPlus",
                //         hidden: false,
                //         alwaysShow: true,
                //         params: null,
                //     },
                //     children: [
                //         {
                //             path: "route-param-type1",
                //             component: "demo/route-param",
                //             name: "RouteParamType1",
                //             meta: {
                //                 title: "参数(type=1)",
                //                 icon: "el-icon-Star",
                //                 hidden: false,
                //                 keepAlive: true,
                //                 alwaysShow: false,
                //                 params: {
                //                     type: "1",
                //                 },
                //             },
                //         },
                //         {
                //             path: "route-param-type2",
                //             component: "demo/route-param",
                //             name: "RouteParamType2",
                //             meta: {
                //                 title: "参数(type=2)",
                //                 icon: "el-icon-StarFilled",
                //                 hidden: false,
                //                 keepAlive: true,
                //                 alwaysShow: false,
                //                 params: {
                //                     type: "2",
                //                 },
                //             },
                //         },
                //     ],
                // },
                // {
                //     path: "/function",
                //     component: "Layout",
                //     name: "/function",
                //     meta: {
                //         title: "功能演示",
                //         icon: "menu",
                //         hidden: false,
                //         alwaysShow: false,
                //         params: null,
                //     },
                //     children: [
                //         {
                //             path: "icon-demo",
                //             component: "demo/icons",
                //             name: "IconDemo",
                //             meta: {
                //                 title: "Icons",
                //                 icon: "el-icon-Notification",
                //                 hidden: false,
                //                 keepAlive: true,
                //                 alwaysShow: false,
                //                 params: null,
                //             },
                //         },
                //         {
                //             path: "/function/websocket",
                //             component: "demo/websocket",
                //             name: "/function/websocket",
                //             meta: {
                //                 title: "Websocket",
                //                 icon: "",
                //                 hidden: false,
                //                 keepAlive: true,
                //                 alwaysShow: false,
                //                 params: null,
                //             },
                //         },
                //         {
                //             path: "other/:id",
                //             component: "demo/other",
                //             name: "Other/:id",
                //             meta: {
                //                 title: "敬请期待...",
                //                 icon: "",
                //                 hidden: false,
                //                 alwaysShow: false,
                //                 params: null,
                //             },
                //         },
                //     ],
                // },
            ],
            msg: "一切ok",
        },
    },

    // 获取菜单树形列表
    {
        url: "menus",
        method: ["GET"],
        body: {
            code: "00000",
            data: [
                {
                    id: 1,
                    parentId: 0,
                    name: "系统管理",
                    type: "CATALOG",
                    routeName: "",
                    routePath: "/system",
                    component: "Layout",
                    sort: 1,
                    visible: 1,
                    icon: "system",
                    redirect: "/system/user",
                    perm: null,
                    children: [
                        {
                            id: 2,
                            parentId: 1,
                            name: "用户管理",
                            type: "MENU",
                            routeName: "User",
                            routePath: "user",
                            component: "system/user/index",
                            sort: 1,
                            visible: 1,
                            icon: "el-icon-User",
                            redirect: null,
                            perm: null,
                            children: [
                                {
                                    id: 105,
                                    parentId: 2,
                                    name: "用户查询",
                                    type: "BUTTON",
                                    routeName: null,
                                    routePath: "",
                                    component: null,
                                    sort: 0,
                                    visible: 1,
                                    icon: "",
                                    redirect: null,
                                    perm: "sys:user:query",
                                    children: [],
                                },
                                {
                                    id: 31,
                                    parentId: 2,
                                    name: "用户新增",
                                    type: "BUTTON",
                                    routeName: null,
                                    routePath: "",
                                    component: null,
                                    sort: 1,
                                    visible: 1,
                                    icon: "",
                                    redirect: "",
                                    perm: "sys:user:add",
                                    children: [],
                                },
                                {
                                    id: 32,
                                    parentId: 2,
                                    name: "用户编辑",
                                    type: "BUTTON",
                                    routeName: null,
                                    routePath: "",
                                    component: null,
                                    sort: 2,
                                    visible: 1,
                                    icon: "",
                                    redirect: "",
                                    perm: "sys:user:edit",
                                    children: [],
                                },
                                {
                                    id: 33,
                                    parentId: 2,
                                    name: "用户删除",
                                    type: "BUTTON",
                                    routeName: null,
                                    routePath: "",
                                    component: null,
                                    sort: 3,
                                    visible: 1,
                                    icon: "",
                                    redirect: "",
                                    perm: "sys:user:delete",
                                    children: [],
                                },
                                {
                                    id: 88,
                                    parentId: 2,
                                    name: "重置密码",
                                    type: "BUTTON",
                                    routeName: null,
                                    routePath: "",
                                    component: null,
                                    sort: 4,
                                    visible: 1,
                                    icon: "",
                                    redirect: null,
                                    perm: "sys:user:password:reset",
                                    children: [],
                                },
                                {
                                    id: 106,
                                    parentId: 2,
                                    name: "用户导入",
                                    type: "BUTTON",
                                    routeName: null,
                                    routePath: "",
                                    component: null,
                                    sort: 5,
                                    visible: 1,
                                    icon: "",
                                    redirect: null,
                                    perm: "sys:user:import",
                                    children: [],
                                },
                                {
                                    id: 107,
                                    parentId: 2,
                                    name: "用户导出",
                                    type: "BUTTON",
                                    routeName: null,
                                    routePath: "",
                                    component: null,
                                    sort: 6,
                                    visible: 1,
                                    icon: "",
                                    redirect: null,
                                    perm: "sys:user:export",
                                    children: [],
                                },
                            ],
                        },
                        {
                            id: 3,
                            parentId: 1,
                            name: "角色管理",
                            type: "MENU",
                            routeName: "Role",
                            routePath: "role",
                            component: "system/role/index",
                            sort: 2,
                            visible: 1,
                            icon: "role",
                            redirect: null,
                            perm: null,
                            children: [
                                {
                                    id: 70,
                                    parentId: 3,
                                    name: "角色新增",
                                    type: "BUTTON",
                                    routeName: null,
                                    routePath: "",
                                    component: null,
                                    sort: 1,
                                    visible: 1,
                                    icon: "",
                                    redirect: null,
                                    perm: "sys:role:add",
                                    children: [],
                                },
                                {
                                    id: 71,
                                    parentId: 3,
                                    name: "角色编辑",
                                    type: "BUTTON",
                                    routeName: null,
                                    routePath: "",
                                    component: null,
                                    sort: 2,
                                    visible: 1,
                                    icon: "",
                                    redirect: null,
                                    perm: "sys:role:edit",
                                    children: [],
                                },
                                {
                                    id: 72,
                                    parentId: 3,
                                    name: "角色删除",
                                    type: "BUTTON",
                                    routeName: null,
                                    routePath: "",
                                    component: null,
                                    sort: 3,
                                    visible: 1,
                                    icon: "",
                                    redirect: null,
                                    perm: "sys:role:delete",
                                    children: [],
                                },
                            ],
                        },
                        {
                            id: 4,
                            parentId: 1,
                            name: "菜单管理",
                            type: "MENU",
                            routeName: "Menu",
                            routePath: "menu",
                            component: "system/menu/index",
                            sort: 3,
                            visible: 1,
                            icon: "menu",
                            redirect: null,
                            perm: null,
                            children: [
                                {
                                    id: 73,
                                    parentId: 4,
                                    name: "菜单新增",
                                    type: "BUTTON",
                                    routeName: null,
                                    routePath: "",
                                    component: null,
                                    sort: 1,
                                    visible: 1,
                                    icon: "",
                                    redirect: null,
                                    perm: "sys:menu:add",
                                    children: [],
                                },
                                {
                                    id: 74,
                                    parentId: 4,
                                    name: "菜单编辑",
                                    type: "BUTTON",
                                    routeName: null,
                                    routePath: "",
                                    component: null,
                                    sort: 3,
                                    visible: 1,
                                    icon: "",
                                    redirect: null,
                                    perm: "sys:menu:edit",
                                    children: [],
                                },
                                {
                                    id: 75,
                                    parentId: 4,
                                    name: "菜单删除",
                                    type: "BUTTON",
                                    routeName: null,
                                    routePath: "",
                                    component: null,
                                    sort: 3,
                                    visible: 1,
                                    icon: "",
                                    redirect: null,
                                    perm: "sys:menu:delete",
                                    children: [],
                                },
                            ],
                        },
                        {
                            id: 5,
                            parentId: 1,
                            name: "部门管理",
                            type: "MENU",
                            routeName: "Dept",
                            routePath: "dept",
                            component: "system/dept/index",
                            sort: 4,
                            visible: 1,
                            icon: "tree",
                            redirect: null,
                            perm: null,
                            children: [
                                {
                                    id: 76,
                                    parentId: 5,
                                    name: "部门新增",
                                    type: "BUTTON",
                                    routeName: null,
                                    routePath: "",
                                    component: null,
                                    sort: 1,
                                    visible: 1,
                                    icon: "",
                                    redirect: null,
                                    perm: "sys:dept:add",
                                    children: [],
                                },
                                {
                                    id: 77,
                                    parentId: 5,
                                    name: "部门编辑",
                                    type: "BUTTON",
                                    routeName: null,
                                    routePath: "",
                                    component: null,
                                    sort: 2,
                                    visible: 1,
                                    icon: "",
                                    redirect: null,
                                    perm: "sys:dept:edit",
                                    children: [],
                                },
                                {
                                    id: 78,
                                    parentId: 5,
                                    name: "部门删除",
                                    type: "BUTTON",
                                    routeName: null,
                                    routePath: "",
                                    component: null,
                                    sort: 3,
                                    visible: 1,
                                    icon: "",
                                    redirect: null,
                                    perm: "sys:dept:delete",
                                    children: [],
                                },
                            ],
                        },
                        {
                            id: 6,
                            parentId: 1,
                            name: "字典管理",
                            type: "MENU",
                            routeName: "Dict",
                            routePath: "dict",
                            component: "system/dict/index",
                            sort: 5,
                            visible: 1,
                            icon: "dict",
                            redirect: null,
                            perm: null,
                            children: [
                                {
                                    id: 79,
                                    parentId: 6,
                                    name: "字典新增",
                                    type: "BUTTON",
                                    routeName: null,
                                    routePath: "",
                                    component: null,
                                    sort: 1,
                                    visible: 1,
                                    icon: "",
                                    redirect: null,
                                    perm: "sys:dict:add",
                                    children: [],
                                },
                                {
                                    id: 81,
                                    parentId: 6,
                                    name: "字典编辑",
                                    type: "BUTTON",
                                    routeName: null,
                                    routePath: "",
                                    component: null,
                                    sort: 2,
                                    visible: 1,
                                    icon: "",
                                    redirect: null,
                                    perm: "sys:dict_type:edit",
                                    children: [],
                                },
                                {
                                    id: 84,
                                    parentId: 6,
                                    name: "字典删除",
                                    type: "BUTTON",
                                    routeName: null,
                                    routePath: "",
                                    component: null,
                                    sort: 3,
                                    visible: 1,
                                    icon: "",
                                    redirect: null,
                                    perm: "sys:dict_type:delete",
                                    children: [],
                                },
                            ],
                        },
                        {
                            id: 135,
                            parentId: 1,
                            name: "字典数据",
                            type: "MENU",
                            routeName: "DictData",
                            routePath: "dict-data",
                            component: "system/dict/data",
                            sort: 6,
                            visible: 0,
                            icon: "",
                            redirect: null,
                            perm: null,
                            children: [
                                {
                                    id: 136,
                                    parentId: 135,
                                    name: "字典数据新增",
                                    type: "BUTTON",
                                    routeName: null,
                                    routePath: "",
                                    component: null,
                                    sort: 4,
                                    visible: 1,
                                    icon: "",
                                    redirect: null,
                                    perm: "sys:dict-data:add",
                                    children: [],
                                },
                                {
                                    id: 137,
                                    parentId: 135,
                                    name: "字典数据编辑",
                                    type: "BUTTON",
                                    routeName: null,
                                    routePath: "",
                                    component: null,
                                    sort: 5,
                                    visible: 1,
                                    icon: "",
                                    redirect: null,
                                    perm: "sys:dict-data:edit",
                                    children: [],
                                },
                                {
                                    id: 138,
                                    parentId: 135,
                                    name: "字典数据删除",
                                    type: "BUTTON",
                                    routeName: null,
                                    routePath: "",
                                    component: null,
                                    sort: 6,
                                    visible: 1,
                                    icon: "",
                                    redirect: null,
                                    perm: "sys:dict-data:delete",
                                    children: [],
                                },
                            ],
                        },
                        {
                            id: 117,
                            parentId: 1,
                            name: "系统日志",
                            type: "MENU",
                            routeName: "Log",
                            routePath: "log",
                            component: "system/log/index",
                            sort: 6,
                            visible: 1,
                            icon: "document",
                            redirect: null,
                            perm: null,
                            children: [],
                        },
                        {
                            id: 120,
                            parentId: 1,
                            name: "系统配置",
                            type: "MENU",
                            routeName: "Config",
                            routePath: "config",
                            component: "system/config/index",
                            sort: 7,
                            visible: 1,
                            icon: "setting",
                            redirect: null,
                            perm: null,
                            children: [
                                {
                                    id: 121,
                                    parentId: 120,
                                    name: "查询系统配置",
                                    type: "BUTTON",
                                    routeName: null,
                                    routePath: "",
                                    component: null,
                                    sort: 1,
                                    visible: 1,
                                    icon: "",
                                    redirect: null,
                                    perm: "sys:config:query",
                                    children: [],
                                },
                                {
                                    id: 122,
                                    parentId: 120,
                                    name: "新增系统配置",
                                    type: "BUTTON",
                                    routeName: null,
                                    routePath: "",
                                    component: null,
                                    sort: 2,
                                    visible: 1,
                                    icon: "",
                                    redirect: null,
                                    perm: "sys:config:add",
                                    children: [],
                                },
                                {
                                    id: 123,
                                    parentId: 120,
                                    name: "修改系统配置",
                                    type: "BUTTON",
                                    routeName: null,
                                    routePath: "",
                                    component: null,
                                    sort: 3,
                                    visible: 1,
                                    icon: "",
                                    redirect: null,
                                    perm: "sys:config:update",
                                    children: [],
                                },
                                {
                                    id: 124,
                                    parentId: 120,
                                    name: "删除系统配置",
                                    type: "BUTTON",
                                    routeName: null,
                                    routePath: "",
                                    component: null,
                                    sort: 4,
                                    visible: 1,
                                    icon: "",
                                    redirect: null,
                                    perm: "sys:config:delete",
                                    children: [],
                                },
                                {
                                    id: 125,
                                    parentId: 120,
                                    name: "刷新系统配置",
                                    type: "BUTTON",
                                    routeName: null,
                                    routePath: "",
                                    component: null,
                                    sort: 5,
                                    visible: 1,
                                    icon: "",
                                    redirect: null,
                                    perm: "sys:config:refresh",
                                    children: [],
                                },
                            ],
                        },
                        {
                            id: 126,
                            parentId: 1,
                            name: "通知公告",
                            type: "MENU",
                            routeName: "Notice",
                            routePath: "notice",
                            component: "system/notice/index",
                            sort: 9,
                            visible: 1,
                            icon: "",
                            redirect: null,
                            perm: null,
                            children: [
                                {
                                    id: 127,
                                    parentId: 126,
                                    name: "查询",
                                    type: "BUTTON",
                                    routeName: null,
                                    routePath: "",
                                    component: null,
                                    sort: 1,
                                    visible: 1,
                                    icon: "",
                                    redirect: null,
                                    perm: "sys:notice:query",
                                    children: [],
                                },
                                {
                                    id: 128,
                                    parentId: 126,
                                    name: "新增",
                                    type: "BUTTON",
                                    routeName: null,
                                    routePath: "",
                                    component: null,
                                    sort: 2,
                                    visible: 1,
                                    icon: "",
                                    redirect: null,
                                    perm: "sys:notice:add",
                                    children: [],
                                },
                                {
                                    id: 129,
                                    parentId: 126,
                                    name: "编辑",
                                    type: "BUTTON",
                                    routeName: null,
                                    routePath: "",
                                    component: null,
                                    sort: 3,
                                    visible: 1,
                                    icon: "",
                                    redirect: null,
                                    perm: "sys:notice:edit",
                                    children: [],
                                },
                                {
                                    id: 130,
                                    parentId: 126,
                                    name: "删除",
                                    type: "BUTTON",
                                    routeName: null,
                                    routePath: "",
                                    component: null,
                                    sort: 4,
                                    visible: 1,
                                    icon: "",
                                    redirect: null,
                                    perm: "sys:notice:delete",
                                    children: [],
                                },
                                {
                                    id: 133,
                                    parentId: 126,
                                    name: "发布",
                                    type: "BUTTON",
                                    routeName: null,
                                    routePath: "",
                                    component: null,
                                    sort: 5,
                                    visible: 1,
                                    icon: "",
                                    redirect: null,
                                    perm: "sys:notice:publish",
                                    children: [],
                                },
                                {
                                    id: 134,
                                    parentId: 126,
                                    name: "撤回",
                                    type: "BUTTON",
                                    routeName: null,
                                    routePath: "",
                                    component: null,
                                    sort: 6,
                                    visible: 1,
                                    icon: "",
                                    redirect: null,
                                    perm: "sys:notice:revoke",
                                    children: [],
                                },
                            ],
                        },
                    ],
                },
                {
                    id: 118,
                    parentId: 0,
                    name: "系统工具",
                    type: "CATALOG",
                    routeName: null,
                    routePath: "/codegen",
                    component: "Layout",
                    sort: 2,
                    visible: 1,
                    icon: "menu",
                    redirect: null,
                    perm: null,
                    children: [
                        {
                            id: 119,
                            parentId: 118,
                            name: "代码生成",
                            type: "MENU",
                            routeName: "Codegen",
                            routePath: "codegen",
                            component: "codegen/index",
                            sort: 1,
                            visible: 1,
                            icon: "code",
                            redirect: null,
                            perm: null,
                            children: [],
                        },
                    ],
                },
                {
                    id: 40,
                    parentId: 0,
                    name: "接口文档",
                    type: "CATALOG",
                    routeName: null,
                    routePath: "/api",
                    component: "Layout",
                    sort: 7,
                    visible: 1,
                    icon: "api",
                    redirect: "",
                    perm: null,
                    children: [
                        {
                            id: 41,
                            parentId: 40,
                            name: "Apifox",
                            type: "MENU",
                            routeName: null,
                            routePath: "apifox",
                            component: "demo/api/apifox",
                            sort: 1,
                            visible: 1,
                            icon: "api",
                            redirect: "",
                            perm: null,
                            children: [],
                        },
                    ],
                },
                {
                    id: 26,
                    parentId: 0,
                    name: "平台文档",
                    type: "CATALOG",
                    routeName: null,
                    routePath: "/doc",
                    component: "Layout",
                    sort: 8,
                    visible: 1,
                    icon: "document",
                    redirect: "https://juejin.cn/post/7228990409909108793",
                    perm: null,
                    children: [
                        {
                            id: 102,
                            parentId: 26,
                            name: "平台文档(内嵌)",
                            type: "EXTLINK",
                            routeName: null,
                            routePath: "internal-doc",
                            component: "demo/internal-doc",
                            sort: 1,
                            visible: 1,
                            icon: "document",
                            redirect: "",
                            perm: null,
                            children: [],
                        },
                        {
                            id: 30,
                            parentId: 26,
                            name: "平台文档(外链)",
                            type: "EXTLINK",
                            routeName: null,
                            routePath: "https://juejin.cn/post/7228990409909108793",
                            component: "",
                            sort: 2,
                            visible: 1,
                            icon: "link",
                            redirect: "",
                            perm: null,
                            children: [],
                        },
                    ],
                },
                {
                    id: 20,
                    parentId: 0,
                    name: "多级菜单",
                    type: "CATALOG",
                    routeName: null,
                    routePath: "/multi-level",
                    component: "Layout",
                    sort: 9,
                    visible: 1,
                    icon: "cascader",
                    redirect: "",
                    perm: null,
                    children: [
                        {
                            id: 21,
                            parentId: 20,
                            name: "菜单一级",
                            type: "MENU",
                            routeName: null,
                            routePath: "multi-level1",
                            component: "demo/multi-level/level1",
                            sort: 1,
                            visible: 1,
                            icon: "",
                            redirect: "",
                            perm: null,
                            children: [
                                {
                                    id: 22,
                                    parentId: 21,
                                    name: "菜单二级",
                                    type: "MENU",
                                    routeName: null,
                                    routePath: "multi-level2",
                                    component: "demo/multi-level/children/level2",
                                    sort: 1,
                                    visible: 1,
                                    icon: "",
                                    redirect: null,
                                    perm: null,
                                    children: [
                                        {
                                            id: 23,
                                            parentId: 22,
                                            name: "菜单三级-1",
                                            type: "MENU",
                                            routeName: null,
                                            routePath: "multi-level3-1",
                                            component: "demo/multi-level/children/children/level3-1",
                                            sort: 1,
                                            visible: 1,
                                            icon: "",
                                            redirect: "",
                                            perm: null,
                                            children: [],
                                        },
                                        {
                                            id: 24,
                                            parentId: 22,
                                            name: "菜单三级-2",
                                            type: "MENU",
                                            routeName: null,
                                            routePath: "multi-level3-2",
                                            component: "demo/multi-level/children/children/level3-2",
                                            sort: 2,
                                            visible: 1,
                                            icon: "",
                                            redirect: "",
                                            perm: null,
                                            children: [],
                                        },
                                    ],
                                },
                            ],
                        },
                    ],
                },
                {
                    id: 36,
                    parentId: 0,
                    name: "组件封装",
                    type: "CATALOG",
                    routeName: null,
                    routePath: "/component",
                    component: "Layout",
                    sort: 10,
                    visible: 1,
                    icon: "menu",
                    redirect: "",
                    perm: null,
                    children: [
                        {
                            id: 108,
                            parentId: 36,
                            name: "增删改查",
                            type: "MENU",
                            routeName: null,
                            routePath: "curd",
                            component: "demo/curd/index",
                            sort: 0,
                            visible: 1,
                            icon: "",
                            redirect: "",
                            perm: null,
                            children: [],
                        },
                        {
                            id: 109,
                            parentId: 36,
                            name: "列表选择器",
                            type: "MENU",
                            routeName: null,
                            routePath: "table-select",
                            component: "demo/table-select/index",
                            sort: 1,
                            visible: 1,
                            icon: "",
                            redirect: "",
                            perm: null,
                            children: [],
                        },
                        {
                            id: 37,
                            parentId: 36,
                            name: "富文本编辑器",
                            type: "MENU",
                            routeName: null,
                            routePath: "wang-editor",
                            component: "demo/wang-editor",
                            sort: 2,
                            visible: 1,
                            icon: "",
                            redirect: "",
                            perm: null,
                            children: [],
                        },
                        {
                            id: 38,
                            parentId: 36,
                            name: "图片上传",
                            type: "MENU",
                            routeName: null,
                            routePath: "upload",
                            component: "demo/upload",
                            sort: 3,
                            visible: 1,
                            icon: "",
                            redirect: "",
                            perm: null,
                            children: [],
                        },
                        {
                            id: 95,
                            parentId: 36,
                            name: "字典组件",
                            type: "MENU",
                            routeName: null,
                            routePath: "dict-demo",
                            component: "demo/dict",
                            sort: 4,
                            visible: 1,
                            icon: "",
                            redirect: "",
                            perm: null,
                            children: [],
                        },
                        {
                            id: 39,
                            parentId: 36,
                            name: "图标选择器",
                            type: "MENU",
                            routeName: null,
                            routePath: "icon-selector",
                            component: "demo/icon-selector",
                            sort: 4,
                            visible: 1,
                            icon: "",
                            redirect: "",
                            perm: null,
                            children: [],
                        },
                    ],
                },
                {
                    id: 110,
                    parentId: 0,
                    name: "路由参数",
                    type: "CATALOG",
                    routeName: null,
                    routePath: "/route-param",
                    component: "Layout",
                    sort: 11,
                    visible: 1,
                    icon: "el-icon-ElementPlus",
                    redirect: null,
                    perm: null,
                    children: [
                        {
                            id: 111,
                            parentId: 110,
                            name: "参数(type=1)",
                            type: "MENU",
                            routeName: null,
                            routePath: "route-param-type1",
                            component: "demo/route-param",
                            sort: 1,
                            visible: 1,
                            icon: "el-icon-Star",
                            redirect: null,
                            perm: null,
                            children: [],
                        },
                        {
                            id: 112,
                            parentId: 110,
                            name: "参数(type=2)",
                            type: "MENU",
                            routeName: null,
                            routePath: "route-param-type2",
                            component: "demo/route-param",
                            sort: 2,
                            visible: 1,
                            icon: "el-icon-StarFilled",
                            redirect: null,
                            perm: null,
                            children: [],
                        },
                    ],
                },
                {
                    id: 89,
                    parentId: 0,
                    name: "功能演示",
                    type: "CATALOG",
                    routeName: null,
                    routePath: "/function",
                    component: "Layout",
                    sort: 12,
                    visible: 1,
                    icon: "menu",
                    redirect: "",
                    perm: null,
                    children: [
                        {
                            id: 97,
                            parentId: 89,
                            name: "Icons",
                            type: "MENU",
                            routeName: null,
                            routePath: "icon-demo",
                            component: "demo/icons",
                            sort: 2,
                            visible: 1,
                            icon: "el-icon-Notification",
                            redirect: "",
                            perm: null,
                            children: [],
                        },
                        {
                            id: 90,
                            parentId: 89,
                            name: "Websocket",
                            type: "MENU",
                            routeName: null,
                            routePath: "/function/websocket",
                            component: "demo/websocket",
                            sort: 3,
                            visible: 1,
                            icon: "",
                            redirect: "",
                            perm: null,
                            children: [],
                        },
                        {
                            id: 91,
                            parentId: 89,
                            name: "敬请期待...",
                            type: "CATALOG",
                            routeName: null,
                            routePath: "other/:id",
                            component: "demo/other",
                            sort: 4,
                            visible: 1,
                            icon: "",
                            redirect: "",
                            perm: null,
                            children: [],
                        },
                    ],
                },
            ],
            msg: "一切ok",
        },
    },

    // 新增菜单
    {
        url: "menus",
        method: ["POST"],
        body({body}) {
            return {
                code: "00000",
                data: null,
                msg: "新增菜单" + body.name + "成功",
            };
        },
    },

    // 获取菜单表单数据
    {
        url: "menus/:id/form",
        method: ["GET"],
        body: ({params}) => {
            return {
                code: "00000",
                data: menuMap[params.id],
                msg: "一切ok",
            };
        },
    },

    // 修改菜单
    {
        url: "menus/:id",
        method: ["PUT"],
        body({body}) {
            return {
                code: "00000",
                data: null,
                msg: "修改菜单" + body.name + "成功",
            };
        },
    },

    // 删除菜单
    {
        url: "menus/:id",
        method: ["DELETE"],
        body({params}) {
            return {
                code: "00000",
                data: null,
                msg: "删除菜单" + params.id + "成功",
            };
        },
    },
]);

// 菜单映射表数据
const menuMap: Record<string, any> = {
    1: {
        id: 1,
        parentId: 0,
        name: "系统管理",
        type: "CATALOG",
        routeName: "",
        routePath: "/system",
        component: "Layout",
        perm: null,
        visible: 1,
        sort: 1,
        icon: "system",
        redirect: "/system/user",
        keepAlive: null,
        alwaysShow: null,
        params: null,
    },
    2: {
        id: 2,
        parentId: 1,
        name: "用户管理",
        type: "MENU",
        routeName: "User",
        routePath: "user",
        component: "system/user/index",
        perm: null,
        visible: 1,
        sort: 1,
        icon: "user",
        redirect: null,
        keepAlive: 1,
        alwaysShow: null,
    },
    3: {
        id: 3,
        parentId: 1,
        name: "角色管理",
        type: "MENU",
        routeName: "Role",
        routePath: "role",
        component: "system/role/index",
        perm: null,
        visible: 1,
        sort: 2,
        icon: "role",
        redirect: null,
        keepAlive: 1,
        alwaysShow: null,
    },
    4: {
        id: 4,
        parentId: 1,
        name: "菜单管理",
        type: "MENU",
        routeName: "Menu",
        routePath: "menu",
        component: "system/menu/index",
        perm: null,
        visible: 1,
        sort: 3,
        icon: "menu",
        redirect: null,
        keepAlive: 1,
        alwaysShow: null,
    },
    5: {
        id: 5,
        parentId: 1,
        name: "部门管理",
        type: "MENU",
        routeName: "Dept",
        routePath: "dept",
        component: "system/dept/index",
        perm: null,
        visible: 1,
        sort: 4,
        icon: "tree",
        redirect: null,
        keepAlive: 1,
        alwaysShow: null,
    },
    6: {
        id: 6,
        parentId: 1,
        name: "字典管理",
        type: "MENU",
        routeName: "Dict",
        routePath: "dict",
        component: "system/dict/index",
        perm: null,
        visible: 1,
        sort: 5,
        icon: "dict",
        redirect: null,
        keepAlive: 1,
        alwaysShow: null,
    },
};
